package com.shujia.wyh.day10;


/*
        帮助文档：
        如何制作一个帮助文档呢？需要借助文档注释。
            1、写一个工具类
            2、在工具类中添加文档注释
                怎么添加呢？添加哪些东西呢？在哪个位置添加呢？看ArrayTool类
                添加完之后怎么用呢？
                    命令行语句格式：javadoc -d 目录 -author -version ArrayTool.java
                     -d <directory>  输出文件的目标目录 （需要自己手动创建！！！）
 */
public class ArrayDemo {
    public static void main(String[] args) {
        //定义一个数组
        int[] arr = {56, 21, 78, 43, 20, 12, 33};

        //需求1：遍历打印数组中的元素
//        for (int i=0;i<arr.length;i++) {
//            if(i==0){
//                System.out.print("["+arr[i]+",");
//            }else if(i==arr.length-1){
//                System.out.print(arr[i]+"]\n");
//            }else {
//                System.out.print(arr[i]+",");
//            }
//        }
        //如果我们在一个程序中像这样的打印遍历数组的需求有很多，如果每次都写一遍这段代码的话
        //代码的冗余性非常高
        //这时候我们就可以使用方法对其封装
//        printArray(arr);
        //如果方法不是静态的，main方法中不能调用，只能通过创建对象的方式进行调用
//        ArrayDemo arrayDemo = new ArrayDemo();
//        arrayDemo.printArray(arr);

        //需求2：还想求数组中的最大值
        //需求3：还想求数组中的最小值
        //... 1000个需求
        //是不是就意味着我要在这个类中写1000左右个方法
        //所以这样是不合理的，一页的代码量很大，这样不符合我们开发的原则
        //所以我们想着，将方法进行分类，不同种类的方法，放到一个单独的类中
        //将来我们想要使用某个方法的时候，就不用再自己开发，直接通过类中的方法就调用

        //创建工具类对象，使用非静态方法
//        ArrayTool arrayTool = new ArrayTool();
//        arrayTool.printArray(arr);

        //工具类一般情况下是不允许外界私自创建对象的
        //如何才能让外界不能创建对象呢？并且还能使用工具类中的方法呢？
        //构造方法私有化，外界不能直接创建对象
        //让工具类中的方法变成静态的，今后直接通过类名调用

        //使用工具类中的打印遍历数组方法
        ArrayTool.printArray(arr);


    }

//    public void printArray(int[] arr){
//        for (int i=0;i<arr.length;i++) {
//            if(i==0){
//                System.out.print("["+arr[i]+",");
//            }else if(i==arr.length-1){
//                System.out.print(arr[i]+"]\n");
//            }else {
//                System.out.print(arr[i]+",");
//            }
//        }
//    }
}
